﻿var zombies = zombies || {};

zombies.usermaster = function () {
    var self = this;
    //login
    self.UserName = ko.observable('');
    self.Password = ko.observable('');

    //register mem
    self.Muid = ko.observable();
    self.Mpwd = ko.observable();
    self.Mfname = ko.observable();
    self.Mlname = ko.observable();
    self.Mgender = ko.observable();
    self.Memail = ko.observable();
    self.PackagePub = ko.observable();
    self.CompanyName = ko.observable();

    self.doLogin = function (element) {
        if (self.Password() == '') {
            self.Password($('#login-pwd').val());
        }
        var account = { UserName: self.UserName, Password: self.Password };
        if ($(element).valid()) {
            $.ajax({
                type: "POST",
                url: "/api/Account/Login",
                data: ko.toJSON(account), //Convert the Observable Data into JSON
                contentType: "application/json",
                dataType: 'json'
            }).done(function () {
                var returnUrl = $.getUrlParams("ReturnUrl");
                toastr.success('Đăng Nhập Thành Công');
                
                if (!returnUrl) {
                    window.location.reload();
                } else {
                    returnUrl = returnUrl.replace("%2f", "/");
                    window.location.replace('http://' + window.location.host + returnUrl);
                }
                
            }).fail(function (request) {
                var msg = request.responseText.substring(12);
                msg = msg.substring(0, msg.length - 2);
                toastr.error(msg);
            });
        }
    };

    self.doLogout = function () {
        $.ajax({
            type: "POST",
            url: "/api/Account/Logout",
            contentType: "application/json",
            dataType: 'json'
        }).done(function (data) {
            toastr.info('Bạn đã thoát khỏi hệ thống');
            window.location.replace('http://' + window.location.host);
        }).fail(function (request) {
            if (request.status == 200) {
                toastr.info('Bạn đã thoát khỏi hệ thống');
                window.location.replace('http://' + window.location.host);
            } else {
                var msg = request.responseText.substring(12);
                msg = msg.substring(0, msg.length - 2);
                toastr.error(msg);
            }
        });
    }

    self.doRegisMem = function (element) {
        var account = {
            UserName: self.Muid,
            Password: self.Mpwd,
            LastName: self.Mlname,
            FirstName: self.Mfname,
            Gender: self.Mgender,
            Email: self.Memail
        };
        console.log($(element).valid());
        if ($(element).valid()) {
            $.ajax({
                type: "POST",
                url: "/api/AdminMember/AddNewMember",
                data: ko.toJSON(account), //Convert the Observable Data into JSON
                contentType: "application/json",
                dataType: 'json'
            }).done(function () {
                toastr.success('Đăng ký thành viên thành công!');
                $(".regist").toggleClass("register-show");
            }).fail(function (request) {
                var msg = request.responseText.substring(12);
                msg = msg.substring(0, msg.length - 2);
                toastr.error(msg);
            });
        }
    };

    self.doRegisPub = function (element) {
        var dataToAdd = {
            UserName: self.Muid,
            Password: self.Mpwd,
            Email: self.Memail,
            CompanyName: self.CompanyName
        };

        if ($(element).valid()) {
            if (typeof self.PackagePub() != 'undefined') {
                $.ajax({
                    type: "POST",
                    url: "/api/AdminPublisher/AddNewPublisher",
                    data: ko.toJSON({ pub: dataToAdd, packagePub: self.PackagePub() }), //Convert the Observable Data into JSON
                    contentType: "application/json",
                    dataType: 'json'
                }).done(function () {
                    toastr.success('Đăng Ký Tài Khoản Người Đăng Quảng Cáo Thành Công!');
                    $(".regist").toggleClass("register-show");
                }).fail(function (request) {
                    var msg = request.responseText.substring(12);
                    msg = msg.substring(0, msg.length - 2);
                    toastr.error(msg);
                });
            }
            else {
                toastr.error('Cần Chọn Một Gói Gia Hạn Cho Tài Khoản!');
            }
        }
    };
};

var viewModel;
$(document).ready(function () {
    moment().format();
    moment().lang('vn');
    toastr.options = {
        "closeButton": false,
        "debug": false,
        "positionClass": "toast-bottom-right",
        "onclick": null,
        "showDuration": "300",
        "hideDuration": "1000",
        "timeOut": "5000",
        "extendedTimeOut": "1000",
        "showEasing": "swing",
        "hideEasing": "linear",
        "showMethod": "fadeIn",
        "hideMethod": "fadeOut"
    }
    viewModel = new zombies.usermaster();

    ko.applyBindings(viewModel, document.getElementById("my-header"));

});